package org.huawei260.TiKu.B;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @Auther: qingle
 * @Date: 2024/10/27-22:40
 * @Description:
 * @version: 1.0
 */
public class B_2512_2023B_矩阵稀疏扫描_AI {
//import java.util.Scanner;
//
//	public class SparseMatrixScanner {
		public static void main(String[] args) {
			Scanner sc = new Scanner(System.in);
			int M = sc.nextInt(); // 矩阵的行数
			int N = sc.nextInt(); // 矩阵的列数
			int[][] matrix = new int[M][N];

			// 读取矩阵数据
			for (int i = 0; i < M; i++) {
				for (int j = 0; j < N; j++) {
					matrix[i][j] = sc.nextInt();
				}
			}

			// 初始化稀疏行和列的计数器
			int sparseRows = 0;
			int sparseCols = 0;

			// 一次遍历计算行和列的稀疏性
			for (int i = 0; i < M; i++) {
				boolean isRowSparse = false;
				for (int j = 0; j < N; j++) {
					// 如果当前元素为0，检查是否满足稀疏条件
					if (matrix[i][j] == 0) {
						// 检查当前行是否稀疏
						if (j > 0 && matrix[i][j-1] == 0) {
							isRowSparse = true;
							break;
						}
						// 检查当前列是否稀疏
						if (i > 0 && matrix[i-1][j] == 0) {
							if (j > 0 && matrix[i-1][j-1] == 0) {
								sparseCols++;
							}
							if (j < N-1 && matrix[i-1][j+1] == 0) {
								sparseCols++;
							}
						}
					}
				}
				if (isRowSparse) {
					sparseRows++;
				}
			}

			// 处理列的边界情况
			for (int j = 0; j < N; j++) {
				if (matrix[0][j] == 0 && matrix[M-1][j] == 0) {
					sparseCols++;
				}
			}

			System.out.println(sparseRows);
			System.out.println(sparseCols);
		}
	}